/*
========================================================================
 Name        : CallForeverSettingItemListView.h
 Author      : jimmy54
 Copyright   : welcome to my weibo:www.weibo.com/jimmy54
 Description : 
========================================================================
*/
#ifndef CALLFOREVERSETTINGITEMLISTVIEW_H
#define CALLFOREVERSETTINGITEMLISTVIEW_H

// [[[ begin generated region: do not modify [Generated Includes]
#include <aknview.h>
#include "CallForeverSettingItemListSettings.h"
// ]]] end generated region [Generated Includes]


// [[[ begin [Event Handler Includes]
// ]]] end [Event Handler Includes]

// [[[ begin generated region: do not modify [Generated Constants]
// ]]] end generated region [Generated Constants]
#include "CallsMonitor.h"
class CCallMonitor;
// [[[ begin generated region: do not modify [Generated Forward Declarations]
class CCallForeverSettingItemList;
// ]]] end generated region [Generated Forward Declarations]
class CDialCall;
/**
 * Avkon view class for CallForeverSettingItemListView. It is register with the view server
 * by the AppUi. It owns the container control.
 * @class	CCallForeverSettingItemListView CallForeverSettingItemListView.h
 */						
			
class CCallForeverSettingItemListView : public CAknView,
										public MCallCallBack
	{
	
	
	// [[[ begin [Public Section]
public:
	// constructors and destructor
	CCallForeverSettingItemListView();
	static CCallForeverSettingItemListView* NewL();
	static CCallForeverSettingItemListView* NewLC();        
	void ConstructL();
	virtual ~CCallForeverSettingItemListView();
						
	// from base class CAknView
	TUid Id() const;
	void HandleCommandL( TInt aCommand );
	
	// [[[ begin generated region: do not modify [Generated Methods]
	// ]]] end generated region [Generated Methods]
	
	// ]]] end [Public Section]
	
	
	// [[[ begin [Protected Section]
protected:
	// from base class CAknView
	void DoActivateL(
		const TVwsViewId& aPrevViewId,
		TUid aCustomMessageId,
		const TDesC8& aCustomMessage );
	void DoDeactivate();
	void HandleStatusPaneSizeChange();
	
	// [[[ begin generated region: do not modify [Overridden Methods]
	// ]]] end generated region [Overridden Methods]
	
	
	// [[[ begin [User Handlers]
	TBool HandleChangeSelectedSettingItemL( TInt aCommand );
	// ]]] end [User Handlers]
	TBool HandleChangeSelectedSettingDialL(TInt aCommand );
	// ]]] end [Protected Section]
	
	
	// [[[ begin [Private Section]
private:
	void SetupStatusPaneL();
	void CleanupStatusPane();
	
	// [[[ begin generated region: do not modify [Generated Instance Variables]
	CCallForeverSettingItemList* iCallForeverSettingItemList;
	TCallForeverSettingItemListSettings* iSettings;
	// ]]] end generated region [Generated Instance Variables]
	
	// [[[ begin generated region: do not modify [Generated Methods]
	// ]]] end generated region [Generated Methods]
	
	// ]]] end [Private Section]
public:
	void DialCall();
	void StopDial();
	void StartTimer();
	static TInt Start(TAny* aPtr);
private:
	virtual void CallStatusChangedL(CTelephony::TCallStatus& aStatus, TInt aError);
	CCallMonitor* iMonitor;
	CDialCall*		iDialCall;
	
	TBool			iIsDialCall;
	
	CPeriodic*	iTimer;
	};

#endif // CALLFOREVERSETTINGITEMLISTVIEW_H
